﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HRM
{
    class modList
    {
        private static Dictionary<String, Type> m_dicForm = new Dictionary<String, Type>();
        public static void Menu_Init(ToolStripMenuItem menuItem)
        {
            ToolStripMenuItem itemMenu = null;
            List<ToolStripItem> arrItem = new List<ToolStripItem>();

            //Flight Schedule
            FormGlobals.Menu_AddItem(arrItem, "mnuBranchList", "Đơn vị", typeof(frmBranchList));
            FormGlobals.Menu_AddItem(arrItem, "mnuDepartmentList", "Phòng ban", typeof(frmDepartmentList3));
            FormGlobals.Menu_AddItem(arrItem, "mnuPositionList", "Chức vụ/Chức danh", typeof(frmPositionList));
            FormGlobals.Menu_AddItem(arrItem, "mnuLevelList", "Bậc", typeof(frmLevelList));
            FormGlobals.Menu_AddItem(arrItem, "mnuGradeList", "Ngạch, Chức danh", typeof(frmNgachBac));
            FormGlobals.Menu_AddItem(arrItem, "mnuInsTypeList", "Phương án", typeof(frmInsTypeList));
            FormGlobals.Menu_AddItem(arrItem, "mnuRateList", "Tỷ lệ thu", typeof(frmRateList));
            FormGlobals.Menu_AddItem(arrItem, "mnuBasicSalaryList", "Mức lương tối thiểu", typeof(frmBasicSalaryList));
            FormGlobals.Menu_AddItem(arrItem, "mnuHospitalList", "Nơi khám chữa bệnh", typeof(frmHospitalList));
            FormGlobals.Menu_AddItem(arrItem); //---

            //FormGlobals.Menu_AddItem(arrItem, "mnuTaxList", "Thuế thu nhập", typeof(frmTaxList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuGradeDetailList", "Thang bảng lương", typeof(frmGradeDetailList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuContractTypeList", "Loại hợp đồng", typeof(frmContractTypeList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuLeaveList", "Hình thức nghỉ", typeof(frmLeaveList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuTypeOfLeaveWorkList", "Hình thức thôi việc", typeof(frmTypeOfLeaveWorkList));

            itemMenu = new ToolStripMenuItem();
            itemMenu.Name = "mnuContract";
            itemMenu.Text = "Hợp đồng & Nghỉ việc";
            itemMenu.DropDownItems.AddRange(new ToolStripItem[]{
                FormGlobals.Menu_NewItem(itemMenu.Name + "mnuTaxList", "Thuế thu nhập", typeof(frmTaxList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name +  "mnuGradeDetailList", "Thang bảng lương", typeof(frmGradeDetailList))
                //,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuContractTypeList", "Loại hợp đồng", typeof(frmContractTypeList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuLeaveList", "Hình thức nghỉ", typeof(frmLeaveList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuTypeOfLeaveWorkList", "Hình thức thôi việc", typeof(frmTypeOfLeaveWorkList))
            });
            arrItem.Add(itemMenu);

            FormGlobals.Menu_AddItem(arrItem, "mnuContractTypeList", "Loại hợp đồng", typeof(frmContractTypeList));
            
            //FormGlobals.Menu_AddItem(arrItem); //---
            //FormGlobals.Menu_AddItem(arrItem, "mnuStandardList", "Trình độ", typeof(frmStandardList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuLanguageList", "Ngoại ngữ", typeof(frmLanguageList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuEthnicList", "Dân tộc", typeof(frmEthnicList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuReligionList", "Tôn giáo", typeof(frmReligionList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuMaritalList", "Tình trạng hôn nhân", typeof(frmMaritalList));

            itemMenu = new ToolStripMenuItem();
            itemMenu.Name = "mnuStandard";
            itemMenu.Text = "Học vấn & hôn nhân";
            itemMenu.DropDownItems.AddRange(new ToolStripItem[]{

                FormGlobals.Menu_NewItem(itemMenu.Name + "mnuStandardList", "Trình độ", typeof(frmStandardList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuLanguageList", "Ngoại ngữ", typeof(frmLanguageList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuEthnicList", "Dân tộc", typeof(frmEthnicList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuReligionList", "Tôn giáo", typeof(frmReligionList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuMaritalList", "Tình trạng hôn nhân", typeof(frmMaritalList))
                //,FormGlobals.Menu_NewItem()
            });
            arrItem.Add(itemMenu);

            ////
            itemMenu = new ToolStripMenuItem();
            itemMenu.Name = "mnuNational";
            itemMenu.Text = "Quốc gia, tỉnh thành";
            itemMenu.DropDownItems.AddRange(new ToolStripItem[]{

                FormGlobals.Menu_NewItem(itemMenu.Name + "mnuNationalList", "Quốc gia", typeof(frmNationalList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuRegionList", "Tỉnh, TP", typeof(frmRegionList))
                //,FormGlobals.Menu_NewItem()
            });
            arrItem.Add(itemMenu);

            //FormGlobals.Menu_AddItem(arrItem, "mnuNationalList", "Quốc gia", typeof(frmNationalList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuRegionList", "Tỉnh, TP", typeof(frmRegionList));
            

            
            
            //FormGlobals.Menu_AddItem(arrItem, "mnuHolidayList", "Ngày nghỉ trong năm", typeof(frmHolidayList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuEvaluation", "Tiêu chí đánh giá", typeof(frmEvaluationCriteriaList));
            //FormGlobals.Menu_AddItem(arrItem, "mnuInterestRate", "Lãi suất chậm nộp", typeof(frmInterestRateList));

            ////Khác
            itemMenu = new ToolStripMenuItem();
            itemMenu.Name = "mnuOther";
            itemMenu.Text = "Khác";
            itemMenu.DropDownItems.AddRange(new ToolStripItem[]{
                FormGlobals.Menu_NewItem(itemMenu.Name + "mnuHolidayList", "Ngày nghỉ trong năm", typeof(frmHolidayList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuEvaluation", "Tiêu chí đánh giá", typeof(frmEvaluationCriteriaList))
                ,FormGlobals.Menu_NewItem(itemMenu.Name + "mnuInterestRate", "Lãi suất chậm nộp", typeof(frmInterestRateList))
            });
            arrItem.Add(itemMenu);
           

            FormGlobals.Menu_Init(menuItem, arrItem, Menu_DropDownItemClicked);
        }

        public static void Menu_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            try
            {
                if (!FormGlobals.Menu_ShowForm(e.ClickedItem))
                {
                    //manual show form here
                    switch (e.ClickedItem.Name.Substring(6))
                    {
                        case "Tracing_Message_Flight":
                            break;
                        case "Tracing_Message_AWB":
                            break;

                        case "Tracing_Message_All":
                            break;
                    }
                }

            }
            catch (Exception ex)
            {
                FormGlobals.Message_Error(ex);
            }
        }
    }
}
